package UI.view;


import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.layout.HorizontalLayout;
import org.uqbar.arena.layout.VerticalLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.windows.MainWindow;
import org.uqbar.arena.windows.SimpleWindow;

import tests.mocks.UsuarioMock;
import usuario.TipoUsuarioEstandar;
import usuario.Usuario;
import aterrizar.Aterrizar;

@SuppressWarnings("serial")
public class AterrizarWindow extends MainWindow<Aterrizar> {
	
	public static UsuarioMock usuario;
	
	public AterrizarWindow() {
		super(new Aterrizar());
	}

	@Override
	public void createContents(Panel mainPanel) {
		this.setTitle(this.getTituloAplicacion());
		mainPanel.setLayout(new VerticalLayout());
		new Label(mainPanel).setText("Hola " + usuario.getNombre());

		new Label(mainPanel).setText("¿Que desea hacer?");
		
		Panel actionsPanel = new Panel(mainPanel);
		actionsPanel.setLayout(new HorizontalLayout());
		
		new Button(actionsPanel) //
		.setCaption("Ver Compras")
		.onClick(new MessageSend(this, "verCompras"));
		
		new Button(actionsPanel) //
		.setCaption("Ver Reservas")
		.onClick(new MessageSend(this, "verReservas"));
		
		new Button(actionsPanel) //
		.setCaption("Buscar Asientos")
		.onClick(new MessageSend(this, "buscarAsientos"));
		
	}
	
	public static void main(String[] args) {
		
		UsuarioMock usuario = new UsuarioMock();
		usuario.setNombre("Harcodealo");
		usuario.setTipoUsuario(new TipoUsuarioEstandar());
		AterrizarWindow.usuario = usuario;
		
		new AterrizarWindow().startApplication();
		
	}
	
	public void verCompras(){
		this.openSimpleWindow(new ListadoAsientosWindow(this, this.getUsuario(), "compras"));
	}
	
	public void verReservas(){
		this.openSimpleWindow(new ListadoAsientosWindow(this, this.getUsuario(), "reservas"));
	}
	
	private Usuario getUsuario() {
		return this.usuario;
	}

	public void buscarAsientos() {
		this.openSimpleWindow(new BuscarAsientosWindow(this));
		
	}

	protected void openSimpleWindow(SimpleWindow window) {
		window.open();
	}
	
	public String getTituloAplicacion(){
		return "Aterrizar.com";
	}

}
